package com.lexue.articlesync.repository;

import com.lexue.articlesync.entity.Platform;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Optional;

/**
 * 平台数据访问接口
 */
@Repository
public interface PlatformRepository extends JpaRepository<Platform, Long> {
    
    /**
     * 根据平台代码查找
     */
    Optional<Platform> findByCode(String code);
    
    /**
     * 查找启用的平台
     */
    List<Platform> findByEnabledTrueOrderBySortOrder();
    
    /**
     * 根据支持的内容类型查找平台
     */
    @Query("SELECT p FROM Platform p WHERE p.enabled = true AND p.supportedTypes LIKE %:type% ORDER BY p.sortOrder")
    List<Platform> findByEnabledAndSupportedTypesContaining(@Param("type") String type);
    
    /**
     * 根据名称模糊查询
     */
    List<Platform> findByNameContainingIgnoreCase(String name);
}